package com.aizuda.boot.modules.common.constant.enums;

/**
 * @Author sangyirong
 * @ClassName RedisCacheEnum
 * @Version 1.0
 * @Date 2025/8/7 18:42
 */
public class RedisCacheEnum {

    public static enum  ContractFieldCache{
        ID("id"),
        PARENT_FIELD_ID("parentFieldId"),
        FIELD_NAME("fieldName"),
        CODE("code"),
        FIELD_TYPE("fieldType"),
        FIELD_OPTIONS("fieldOptions"),
        FIELD_DESCRIPTION("fieldDescription"),
        IS_ENABLED("isEnabled"),
        DECIMAL_PLACES("decimalPlaces"),
        UNIT("unit"),
        OPTION_TYPE("optionType"),
        IS_REQUIRED("isRequired"),
        IS_SYSTEM("isSystem"),
        CREATED_AT("createdAt"),
        UPDATED_AT("updatedAt"),
        IS_SHOW("isShow");

        private String key;

        ContractFieldCache(String key) {
            this.key = key;
        }

        public String getValue() {
            return key;
        }
    }

    public static enum ContractTypeCache{
        ID("id"),
        PARENT_ID("parentId"),
        PARENT_TYPE_NAMES("parentTypeNames"),
        TYPE_NAME("typeName"),
        TYPE_ABBREVIATION("typeAbbreviation"),
        TYPE_DESCRIPTION("typeDescription"),
        IS_ENABLED("isEnabled"),
        ALLOW_ADD_COUNTERPARTY("allowAddCounterparty"),
        CREATED_AT("createdAt"),
        UPDATED_AT("updatedAt"),
        CAN_CREATE_UPLOAD("canCreateUpload"),
        CAN_CREATE_TEMPLATE("canCreateTemplate"),
        CAN_CHANGE_SUPPLEMENT("canChangeSupplement"),
        CAN_CHANGE_MODIFY_FORM("canChangeModifyForm"),
        CAN_TERMINATE_TERMINATION("canTerminateTermination"),
        CAN_TERMINATE_EXPIRY("canTerminateExpiry"),
        CAN_TERMINATE_VOID("canTerminateVoid"),
        TYPE_ORDER("typeOrder"),
        CHILDREN("children"),
        LONG_TERM_ID("longTermId"),
        DEPARTMENT_IDS("departmentIds");

        private String key;

        ContractTypeCache(String key) {
            this.key = key;
        }

        public String getValue() {
            return key;
        }
    }

    public static enum ProcessKeyTypeCache{
        PROCESS_KEY("processKey"),
        PRIORITY("priority");

        private String key;

        ProcessKeyTypeCache(String key) {
            this.key = key;
        }

        public String getValue() {
            return key;
        }
    }
}
